using System;
using System.Collections.Generic;
using System.Text;

namespace Multiplicity.Reflection {
    sealed class PrimitiveTypeInfoTEMP : TypeInfo {

        readonly Type sreType;

        PrimitiveTypeInfoTEMP(Type tempType) {
            this.sreType = tempType;
        }

        public override FieldInfo[] GetFields() {
            return new FieldInfo[0];
        }

        public override string Name {
            get { return sreType.Name; }
        }

        public override string Namespace {
            get { return sreType.Namespace; }
        }

        internal static readonly PrimitiveTypeInfoTEMP tmpBoolean = new PrimitiveTypeInfoTEMP(typeof(Boolean));
        internal static readonly PrimitiveTypeInfoTEMP tmpChar = new PrimitiveTypeInfoTEMP(typeof(Char));
        internal static readonly PrimitiveTypeInfoTEMP tmpSByte = new PrimitiveTypeInfoTEMP(typeof(SByte));
        internal static readonly PrimitiveTypeInfoTEMP tmpByte = new PrimitiveTypeInfoTEMP(typeof(Byte));
        internal static readonly PrimitiveTypeInfoTEMP tmpInt16 = new PrimitiveTypeInfoTEMP(typeof(Int16));
        internal static readonly PrimitiveTypeInfoTEMP tmpInt32 = new PrimitiveTypeInfoTEMP(typeof(Int32));
        internal static readonly PrimitiveTypeInfoTEMP tmpInt64 = new PrimitiveTypeInfoTEMP(typeof(Int64));
        internal static readonly PrimitiveTypeInfoTEMP tmpUInt16 = new PrimitiveTypeInfoTEMP(typeof(UInt16));
        internal static readonly PrimitiveTypeInfoTEMP tmpUInt32 = new PrimitiveTypeInfoTEMP(typeof(UInt32));
        internal static readonly PrimitiveTypeInfoTEMP tmpUInt64 = new PrimitiveTypeInfoTEMP(typeof(UInt64));
        internal static readonly PrimitiveTypeInfoTEMP tmpIntPtr = new PrimitiveTypeInfoTEMP(typeof(IntPtr));
        internal static readonly PrimitiveTypeInfoTEMP tmpUIntPtr = new PrimitiveTypeInfoTEMP(typeof(UIntPtr));
        internal static readonly PrimitiveTypeInfoTEMP tmpSingle = new PrimitiveTypeInfoTEMP(typeof(Single));
        internal static readonly PrimitiveTypeInfoTEMP tmpDouble = new PrimitiveTypeInfoTEMP(typeof(Double));
        internal static readonly PrimitiveTypeInfoTEMP tmpString = new PrimitiveTypeInfoTEMP(typeof(String));
        internal static readonly PrimitiveTypeInfoTEMP tmpObject = new PrimitiveTypeInfoTEMP(typeof(Object));
    }
}
